package com.nas.crocus.service.impl;

import java.util.Collection;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.nas.crocus.dao.PersonaDao;
import com.nas.crocus.domain.Persona;
import com.nas.crocus.service.PersonaService;

@Service
@Transactional
public class PersonaServiceImpl implements PersonaService {

    @Autowired
    private PersonaDao personaDao;
    
    @Override
    public Collection <Persona> buscar() {
        return personaDao.buscar();
    }

    @Override
    public Persona buscar(Long PersonaId) {
        return personaDao.buscar(PersonaId);
    }
    

    @Override
    public void guardar(Persona Persona) {
        personaDao.guardar(Persona);
    }

    @Override
    public void actualizar(Persona Persona) {

        personaDao.actualizar(Persona);
    }

    @Override
    public Collection<Persona> buscarPorPatronApellidoNombreNumeroDocumento(
            String patron) {
        Collection<Persona> resultado = null;
        try {
            Integer numeroDoc = Integer.parseInt(patron);
            resultado = personaDao.buscarPorPatronNumeroDocumento(numeroDoc); 
            
        } catch (NumberFormatException nfe){
            resultado = personaDao.buscarPorPatronApellidoNombre(patron);
        }
        return resultado;
    }

}
